package com.kingstar.ceres.entity.secondary;


import lombok.Builder;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.ToString;
import lombok.experimental.Tolerate;

import java.util.Date;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * BOND成交行情表
 *
 * @author 傻男人
 * @since 2022-03-30
 */

@Data
@ToString(callSuper = true)
@TableName(value = "k_cmds_bond_market_deal")
@Builder
public class KCmdsBondMarketDeal implements Serializable {

    @Tolerate
    public KCmdsBondMarketDeal() {
    }

    private static final long serialVersionUID = 1L;

    /**
     * 成交编号
     */
	@TableField("exec_id")
	private String execId;
    /**
     * 成交类型
     */
	@TableField("exec_type")
	private String execType;
    /**
     * 债券代码
     */
	@TableField("security_id")
	private String securityId;
    /**
     * 债券名称
     */
	private String symbol;
    /**
     * 报文生成时间
     */
	@TableField("transact_time")
	private String transactTime;
    /**
     * 成交价格
     */
	private BigDecimal price;
    /**
     * 券面总额
     */
	@TableField("last_qty")
	private Long lastQty;
    /**
     * 市场标识
     */
	@TableField("market_indicator")
	private String marketIndicator;
    /**
     * 上市前债券
     */
	@TableField("pre_market_bond_indicator")
	private String preMarketBondIndicator;
    /**
     * 交易方式
     */
	@TableField("trade_method")
	private String tradeMethod;
    /**
     * 成交方向
     */
	@TableField("transaction_method")
	private String transactionMethod;
    /**
     * 成交日期
     */
	@TableField("trade_date")
	private String tradeDate;
    /**
     * 成交时间
     */
	@TableField("trade_time")
	private String tradeTime;
    /**
     * 成交类别
     */
	@TableField("trade_type")
	private String tradeType;
    /**
     * 其它类型
     */
	@TableField("stipulation_type")
	private String stipulationType;
    /**
     * 其他值
     */
	@TableField("stipulation_value")
	private String stipulationValue;
    /**
     * 创建时间
     */
	@TableField(value = "create_time", fill = FieldFill.INSERT)
	private Long createTime;
    /**
     * 来源
     */
	@TableField("message_source")
	private String messageSource;
    /**
     * 成交时间（时间戳）
     */
	@TableField("quotation_time")
	private Long quotationTime;

	public class Meta {
        public static final String EXEC_ID = "exec_id";
        public static final String EXEC_TYPE = "exec_type";
        public static final String SECURITY_ID = "security_id";
        public static final String SYMBOL = "symbol";
        public static final String TRANSACT_TIME = "transact_time";
        public static final String PRICE = "price";
        public static final String LAST_QTY = "last_qty";
        public static final String MARKET_INDICATOR = "market_indicator";
        public static final String PRE_MARKET_BOND_INDICATOR = "pre_market_bond_indicator";
        public static final String TRADE_METHOD = "trade_method";
        public static final String TRANSACTION_METHOD = "transaction_method";
        public static final String TRADE_DATE = "trade_date";
        public static final String TRADE_TIME = "trade_time";
        public static final String TRADE_TYPE = "trade_type";
        public static final String STIPULATION_TYPE = "stipulation_type";
        public static final String STIPULATION_VALUE = "stipulation_value";
        public static final String CREATE_TIME = "create_time";
        public static final String MESSAGE_SOURCE = "message_source";
        public static final String QUOTATION_TIME = "quotation_time";
    }
}